Frameworks, devices and methods configured for enabling a multi-modal user interface configured to display facility information

ABSTRACT

Described herein are frameworks, devices and methods configured for enabling display for facility information and content, in some cases via touch/gesture controlled interfaces. Embodiments of the invention have been particularly developed for allowing an operator to conveniently access a wide range of information relating to a facility via, for example, one or more wall mounted displays. While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.

The present application claims priority to Australian Patent ApplicationNo. 2013902086, filed on Jun. 10, 2013, entitled “FRAMEWORKS, DEVICESAND METHODS CONFIGURED FOR ENABLING TOUCH/GESTURE CONTROLLED DISPLAY FORFACILITY INFORMATION AND CONTENT”, which is incorporated herein byreference. The present application also claims priority to AustralianPatent Application No. 2013902312, filed on Jun. 25, 2013, entitled“FRAMEWORKS, DEVICES AND METHODS CONFIGURED FOR ENABLING A MULTI-MODALUSER INTERFACE CONFIGURED TO DISPLAY FACILITY INFORMATION”, which isalso incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to frameworks, devices and methodsconfigured for enabling touch/gesture controlled display for facilityinformation and content. Embodiments of the invention have beenparticularly developed for allowing an operator to conveniently access awide range of information relating to a facility via, for example, awall mounted glass-type display. While some embodiments will bedescribed herein with particular reference to that application, it willbe appreciated that the invention is not limited to such a field of use,and is applicable in broader contexts.

BACKGROUND

Any discussion of the background art throughout the specification shouldin no way be considered as an admission that such art is widely known orforms part of common general knowledge in the field.

There are a wide range of information systems configured to provideaccess to information regarding facility information, for examplebuilding systems such as HVAC, access control, surveillance, and so on.These information systems tend to rely on tree-structures fornavigation, and are optimised for use via a traditional PC-styleinterface (i.e. keyboard and mouse).

SUMMARY OF THE INVENTION

It is an object of the present invention to overcome or ameliorate atleast one of the disadvantages of the prior art, or to provide a usefulalternative.

One embodiment provides a computer implemented method for displayingbuilding information to a user via a touch/gesture driven user interfacethat is rendered on a display screen, the method including:

(i) based on current navigation data, displaying a portion of a maplayer, wherein the map layer includes image data representative of afacility; and

(ii) positioning, on the displayed portion of the map layer, a set ofcontent control objects, wherein each content control object enables auser to load one or more content items via display objects superimposedon the map layer;

wherein the set of content control objects is selected from a collectionof available content control objects based upon: (a) the currentnavigation data; and (b) one or more attributes of the user.

One embodiment provides a computer implemented method for displayingbuilding information to a user via a touch/gesture driven user interfacethat is rendered on a display screen, the method including:

displaying a map layer, the map layer including image datarepresentative of a facility, wherein the user interface is navigated byway of pan and zoom operations defined with respect to the map layer;and

enabling loading one or more content items via display objects

superimposed on the map layer; enabling the user to move a given displayobject between:

a map bound layer, wherein the display object is bound to the map layerfor pan and/or zoom operations; and

(ii) a map unbound layer, wherein the position and/or size of thedisplay object remains constant relative to the display screenindependent of pan and/or zoom operations.

One embodiment provides a computer implemented method for sharingcontent, the method including:

displaying a touch/gesture driven user interface that is rendered on adisplay screen coupled to a first terminal, wherein the user interfaceincludes:

a map layer including image data representative of a facility, whereinthe user interface is navigated by way of pan and zoom operationsdefined with respect to the map layer; and

one or more display objects superimposed on the map layer, wherein eachdisplay object is configured to display content associated with abuilding resource;

in response to a “throw” gesture having predefined characteristics,providing a signal to a second terminal in networked communication withthe first terminal, thereby to make the content associated with abuilding resource.

One embodiment provides a computer implemented method for sharingcontent, the method including:

displaying a touch/gesture driven user interface that is rendered on adisplay screen coupled to a first terminal, wherein the user interfaceincludes:

a map layer including image data representative of a facility, whereinthe user interface is navigated by way of pan and zoom operationsdefined with respect to the map layer; and

one or more content control objects superimposed on the map layer,wherein each content control object is configured to enable launching ofa content display object, wherein the content display object associatedwith a building resource;

wherein the user interface is configured to enable persistent display oflaunched content display object at a launch location, such thatfollowing navigation away from a map position, such that a given contentdisplay object is no longer on-screen, and return to that map position,which requires re-loading of map image data for that position, the givencontent display object remains in its launch location.

One embodiment provides a computer implemented method for displayingbuilding information to a user via a touch/gesture driven user interfacethat is rendered on a display screen, the method including:

displaying, in a primary region of the user interface, a first maplayer, wherein the first map layer includes image data representative ofa facility, wherein the user interface is navigated by way of pan andzoom operations defined with respect to the map layer;

displaying a multi-level navigation interface, wherein the multi-levelnavigation interface displays a series of stacked map layer previews,wherein the stacked map layer previews are defined relative to a commonorigin, wherein one map layer preview is representative of the first maplayer and another map layer preview is representative of a second maplayer;

enabling a user to interact with the multi-level navigation interfacethereby to select a desired one of the stacked map layer previews; and

in response to the user's selection of the map layer previewrepresentative of a second map layer, displaying the second map layer inthe primary region of the user interface.

One embodiment provides a computer program product for performing amethod as described herein.

One embodiment provides a non-transitive carrier medium for carryingcomputer executable code that, when executed on a processor, causes theprocessor to perform a method as described herein.

One embodiment provides a system configured for performing a method asdescribed herein.

Reference throughout this specification to “one embodiment”, “someembodiments” or “an embodiment” means that a particular feature,structure or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment”, “in some embodiments” or“in an embodiment” in various places throughout this specification arenot necessarily all referring to the same embodiment, but may.Furthermore, the particular features, structures or characteristics maybe combined in any suitable manner, as would be apparent to one ofordinary skill in the art from this disclosure, in one or moreembodiments.

As used herein, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third”, etc., to describe a commonobject, merely indicate that different instances of like objects arebeing referred to, and are not intended to imply that the objects sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

In the claims below and the description herein, any one of the termscomprising, comprised of or which comprises is an open term that meansincluding at least the elements/features that follow, but not excludingothers. Thus, the term comprising, when used in the claims, should notbe interpreted as being limitative to the means or elements or stepslisted thereafter. For example, the scope of the expression a devicecomprising A and B should not be limited to devices consisting only ofelements A and B. Any one of the terms including or which includes orthat includes as used herein is also an open term that also meansincluding at least the elements/features that follow the term, but notexcluding others. Thus, including is synonymous with and meanscomprising.

As used herein, the term “exemplary” is used in the sense of providingexamples, as opposed to indicating quality. That is, an “exemplaryembodiment” is an embodiment provided as an example, as opposed tonecessarily being an embodiment of exemplary quality.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will now be described, by way of exampleonly, with reference to the accompanying drawings in which:

FIG. 1A schematically illustrates a framework according to oneembodiment.

FIG. 1B schematically illustrates a framework according to oneembodiment.

FIG. 1C schematically illustrates a framework according to oneembodiment.

FIG. 1D schematically illustrates a framework according to oneembodiment.

FIG. 2 illustrates an exemplary screenshot according to one embodiment.

FIG. 3 illustrates a user interface progression sequence according toone embodiment.

FIG. 4 illustrates a user interface progression sequence according toone embodiment.

FIG. 5 illustrates an exemplary screenshot according to one embodiment.

FIG. 6 illustrates a screen arrangement according to one embodiment.

FIG. 7 illustrates a CCO progression according to one embodiment.

DETAILED DESCRIPTION

Described herein are frameworks, devices and methods configured forenabling display for facility information and content, in some cases viatouch/gesture controlled interfaces. Embodiments of the invention havebeen particularly developed for allowing an operator to convenientlyaccess a wide range of information relating to a facility via, forexample, one or more wall mounted displays. While some embodiments willbe described herein with particular reference to that application, itwill be appreciated that the invention is not limited to such a field ofuse, and is applicable in broader contexts.

In overview, the technologies described herein are predominatelyintended to facilitate provision of a rich user interface for renderingon one or more touch/gesture controlled displays, such as wall-mountedglass displays. Such displays are preferably relatively large, forexample having a screen size in excess of 42 inches.

As used herein, the term “touch/gesture controlled” refers to adisplay/interface in respect of which the primary mode of control iseither touch (for example via touchscreen input technology) or gesture(for example via a motion sensor arrangement), or by way of acombination of touch and gesture. The term “gesture” should be readsufficiently broadly to include gestures made via a touchscreeninterface and gestures made for recognition by motion sensing equipment(and other such feature-recognising equipment). There may be additionalmodes of control present, including the likes of voice or peripheralinputs (such as keyboards, mice, touch devices, and so on).

In some cases, aspects of the technology are described by reference tofunctionalities provided/observed via a user interface. In such cases,embodiments may take the form of client, server, and other computingdevices (and methods performed by those devices) thereby to provide suchfunctionalities.

Technologies described below provide for a touch/gesture controlledinterface that enables an operator to access information and contentrelating to a facility (for example a building or a region includingmultiple buildings). This information and content may relate to one ormore “facility systems” or “building systems” (with the term “facility”being used to describe a site defined by one or more buildings and/orother locations), being systems defined by information technologycomponents that make available such information and/or content. Examplesof such facility systems include:

Video surveillance systems, which provide access to live video data fromone or more cameras located in the facility.

HVAC systems, which provide access to control and monitoring of HVACcomponents (such as chillers, air handling unity, thermostats, and soon). This may be provided by a broader building management system.

Access control systems, which include access control devices andassociated control systems (for example to control access through doorsand the like, and monitor movement through such doors).

Energy management systems, which provide access to monitoring and/orcontrolling of energy consumption in a building.

A general objective for technologies described herein is to provide aneffective, powerful, and easy-to-use touch/gesture controlled userinterface, and associated back-end framework.

Framework Overview

A first exemplary framework is illustrated in FIG. 1A. Other exemplaryframeworks are shown in further figures, and similar reference numeralshave been used where relevant. Major components shown in FIG. 1A are:

A touch/gesture driven display 101, which is configured to enablerendering of a map-based user interface 100.

A display driver terminal 110, which is configured for driving userinterface 100 (for example in terms of processing user inputs, obtainingdata from remote sources, and rendering data on the display. This iseither integrated with display 101, or coupled to display 101 by a HDMIcable (or other form of data cable).

A tile data server, which maintains map and layer data for the map-baseduser interface 100. This is configured to communicate with displaydriver terminal 110 via a network connection.

A set of facility system IT components which provide data underlyingcontent accessible via interface 100. These include a surveillancesystem 130 (which includes a plurality of cameras 131), a buildingmanagement system 132 (which includes HVAC components, sensors, etc133), and access control system 134 (which includes access controldevices, servers, etc 135) and another system 136 (which includesdevices/components 137). These communicate with driver 110 via networkcommunications, optionally via one or more intermediary servers (notshown).

An alternate multi-screen arrangement is illustrated in FIG. 6, anddescribed further below.

Map-based navigation interface 100 includes image data representing amap, such as a floorplan. This is rendered on-screen as a map layer (forexample a background map layer). Overlaid on the image data representinga map are various objects, including a plurality of content controlobjects (CCOs) 102. In some embodiments described herein, CCOs take theform of orbital menu objects. However other GUI components may be used,for example CCOs such as those described by reference to FIG. 7. A userinteracts with such CCOs to gain access to content and/or functionality.For example, where a CCO relates to a camera, interaction with the CCOprovides access to a live video feed from that camera (optionally incombination with other content/controls).

Interface 100 is able to be navigated in terms of pan and zoom. Forexample, motion/touch gestures such as swiping, pinching, and the likemay be used to effect such navigation as is customary for touch/gesturedriven displays. The manner by which interface handles such navigationis dealt with in more detail below.

In this embodiment, interface 100 is provided by way of display driver110, which may be provided via a computing device having an interfaceable to be coupled to display 101 (for example an HDMI output or thelike). Display driver 110 includes a processor 111 that enablesexecution of software instructions, for example software instructionsmaintained on a memory module 112. Communications modules 113 (such asEthernet network adaptors, WiFi, or the like) enable interaction withremote devices. In this regard, various software functionalitiesprovided via interface 100 may be derived from software executing atdisplay driver 110 and/or at other distributed terminals. For instance,whether a given functionality is provided by locally or merely executingcode may be a matter of design choice, based upon optimisation ofresources. In this regard, any functionality/data shown in FIG. 1A asbeing remote of display driver 110 may, in other embodiments, beprovided in whole or in part locally by display driver 110.

Memory module 112 maintains software instructions for a user interfacemodule which is configured to control rendering of interface 100. Thisuser interface module is responsive to user inputs (via input components114, which may include touch-based and gesture-based inputs, and thelike) for controlling interface 100. Controlling display 100 includesthe likes of processing inputs indicative of commands for zooming,panning, accessing content, shifting vertical levels, and so on(discussed in more detail further below), and processing those inputsthereby to provide desired functionality.

In terms of panning and zooming, in the embodiment of FIG. 1A, displaydriver 110 is in communication (over a network or Internet connection)with a tile data server 120. This enables the provision of a tile-basedarrangement for displaying map data and layer data. In overview, theimage data displayed via interface 100 includes a background map layer(defined by background tile data 121), and one or more layers that areable to be superimposed on the background map (defined by layer data 121a-121 n). These are discussed in more detail further below.

FIG. 1B illustrative an alternate configuration whereby a display server140 interposes display driver terminal 110 (and optionally a pluralityof further display driver terminals coupled to respective displays) withthe tile data server and other systems. In this manner, display server140 operates substantially like a web server for the presenttechnologies. By such an approach, the user interface may be loaded intoand rendered within a web browser application executing on a displaydriver terminal (or other device). This allows for scalability, andreduces the need for a display driver terminal to possess any specialcharacteristics or software.

FIG. 1C illustrates another configuration, whereby display driverterminal interacts directly with surveillance system 130, as opposed tovia server 140. This configuration is used to more efficiently managebandwidth in the context of displaying live video data via interface100. In overview, in some embodiments a display object rendered ininterface 100 is configured to display live video data from one ofcameras 131, and for this purpose the display object includes data thatenables the creation of a direct connection to the relevant camera viasystem 130. In some cases this includes initiating a socket connectionvia a specified camera server (specified by a network address, forinstance) of system 130 thereby to coordinate the delivery of live videodata for display in the display object of interface 100.

It will be appreciated that other framework-level variations may beapplied for further embodiments.

User Interface Components

FIG. 2 illustrates an exemplary screenshot 200 according to oneembodiment. This is provided thereby to assist in explanation of varioususer interface components referenced throughout the specification.

A background map layer 201 is illustrated, in this case being asubstantially two-dimensional isometric floorplan. This shows artefactssuch as walls, doors, stairs, and the like. The floorplan may show asingle building, or multiple buildings (with intermediate areas). Thefloorplan may include multiple substantially two-dimensional imagesrepresenting different vertical zones (such as floors in a building). Insome cases only a single vertical zone is displayed, with a navigationinterface allowing navigation between vertical zones. In other casesmultiple separate map images for respective vertical zones are shownalongside one another. In such cases preferably visual features (such ascoloured lines) are provided thereby to indicate pathways betweenlevels, for instance at stairwells and lifts. By way of example, in oneembodiment a coloured line connects a stairwell in one map image to acorresponding stairwell in another map image, thereby to visuallyindicate functional connection between the stairwells.

Content control objects (CCOs) 202 a and 202 b are shown. CCO 202 aincludes a camera icon, and is bound to a resource in the form of acamera managed by a surveillance system. CCO 202 b is bound to theresource in the form of an access control device managed by an accesscontrol system.

CCO 202 a is able to be operated by a user thereby to launch a contentdisplay object 203 (in this case being a video display object), which isconfigured to display a content item (in this case being streaming livevideo) for its bound resource (in this case being a camera). Variousother forms of content display objects and content items may be present,for example depending on the nature of resources to which CCOs arebound.

Content Control Objects (CCOs)

As noted above, interface 100 includes a plurality of content controlobjects (CCOs) 102, which are overlaid on (or otherwise visible within)a map-based interface. For example, a CCO may be defined by menuobjects, such as a radial/orbital menu object. This allows a user tointeract with a CCO thereby to access content, for example to launch adisplay object for a desired content item (for example to view livevideo data from a camera). In some cases a CCO is configured toautomatically launch a display object where predefined conditions aremet (for example to enable automated launching of video display objectswhen a user navigates to a predefined pan and zoom location). Thesepredefined conditions may include alert conditions (for instance, in oneexample an alert is raised for a given camera when motion is sensed, andthat causes automatic launching of a video display object).

Each CCO is bound to one or more facility system components, such as oneor more cameras of surveillance system 130, a sensor of a componentmonitored by building management system 132, and so on. This binding isconfigured to enable at least either or both the following:

A user of interface 100 to access content made available by the facilitysystem component (for example live video data from a camera, or a valuefrom a sensor). For example, by clicking on a CCO, a user is able toaccess such content, which is preferably displayed overlaid on the mapdisplay (optionally in a content display layer).

Downstream pushing of data from the component (or supporting system) tointerface 100, for example where an alarm condition has been reached.For example, a visual alarm indicator may be applied to or adjacent aCCO based on such downstream pushing of data.

Data indicative of CCOs is maintained at a server device, optionallybeing a server device that is additionally responsible for deliveringimage data for the map.

In some embodiments, a CCO is defined by data indicative of:

A position on the map at which the CCO is to be located (which may varydepending of zoom position and/or CCO aggregation rules).

A reference to the resource to which the CCO is bound (or, in somecases, resources to which the CCO is bound). This allows binding and/orother data sharing to occur.

Data indicative of display parameters. This may include data indicativeof an icon for the CCO (for example a CCO bound to a camera in asurveillance system may carry a camera icon). It may also includeinstructions for the provision of user interface components (for examplemenu items that are to be displayed via an orbital menu, and how thoseoperate) for example via JavaScript Object Notation (JSON).

This allows a CCO to be loaded in a functional manner for the purposesof interface 100. CCO processing operations (for example data handling)may be performed at a client or server side (or a combination of both)depending on matters of subjective choice in specific implementations.

Background Map Layer

As noted above, interface 100 includes a background map layer. The mapmay be two or three dimensional, although in the case of threedimensional maps it is preferable that it represents a region ofsubstantially common vertical position (for example a single floor in abuilding). In some examples multiple maps maintained in a stackableform, thereby to allow an operator to view different vertical positions(for example a separate map for each floor of a building, with each mapbeing defined relative to a common set of referential spatialcoordinates). In the example of FIG. 1A, the map is shown as asubstantially two dimensional map, being a two dimensional map thatdisplays limited perspective on some or all features thereby to enhanceviewability. An isometric view is shown, however alternate views mayalso be used. In some cases views shift between plan and isometricdepending on a level of zoom.

Data to enable the rendering of the background map layer at a variety ofresolutions is maintained in background tile data 121 of tile dataserver 120. In this regard, a tile-based approach is used to managedisplay and resolution, as shown in FIG. 3. Background map tile data isdefined at varying resolution levels, with a respective number of tilesfor each resolution level. From a definitional perspective, these are ahighest level (301 in FIG. 3) and move down to lower levels (302 and 303in FIG. 3). Each lower level is defined by an increased number of tilesas compared to its preceding level above. Affine transformations arepreferably used to manage zooming within a given tile.

In the context of the background map layer, level 301 is defined by afull mapped view of a facility (in this example represented by an ovalshape), defined at a predefined resolution level. This predefinedresolution level is optionally selected based on a maximum optimalresolution for display device 101 (or based on a maximum optimalresolution for an anticipated display device, based on currenttechnological norms). Level 302 is defined by four partial views, eachof which being defined at the same predefined resolution level as theentire view of level 301. That is, in terms of total number of pixels,the four tiles of level 302 define, in combination, four times thenumber of pixels as the single tile at level 301. In level 303 there aresixteen tiles, again each at the same predefined resolution level as thetiles at levels 301 and 302. This means that, by way of example, a muchgreater level of detail and granularity of the map is able to beprovided in the tiles at level 303 compared with levels 302 and 301.

In terms of operation, based upon a navigation command (such as a pan orzoom), display driver 110 provides positional information to server 120.This positional information is indicative of location (for examplerelative to set of axis defined relative to the overall full view map in301) and a zoom state. Based on this positional information, server 120selectively delivers image data from one or more tiles for thebackground map layer.

As an example, assume level 301 represents a zoom value of 100%, level 2represents a zoom value of 200%, and level 3 represents a zoom value of400%. For zoom levels from 100% to <200%, a zoom operation is applieddirectly to the single tile of level 301. Once the zoom levelreaches/surpasses 200%, the server 120 delivers image data from one ormore of the tiles of level 302 (depending on vie position relative totile boundaries). Preferably, on transition between tiles, the precedingtile is used at non-optimal resolution as a preview during download andrendering of the new tile.

Tile-Based CCO Management

In some embodiments, CCOs displayed in response to zoom position, withan increased number of CCOs becoming visible at higher zoom levels. Thismay be achieved by reference to the tile-based approach discussed abovethat is used for the background layer. That is, CCO positions aredefined for each tile, so that when a tile is loaded for the backgroundimage, CCOs for positions defined for that tile are also loaded.

FIG. 3 illustrates a plurality of CCOs (one labelled as 310, by way ofexample). It will be noticed that the number of CCOs increases fromlevel 301 to level 302, and from level 302 to level 303. From an enduser perspective, the objective is to avoid cluttering the on-screenarea with too many CCOs. There are a few approaches for achieving this:

Manually defining each content layer tile, by defining locations forCCOs.

A set of automated rules for CCO amalgamation, such that where apredefined CCO density is met (for example in terms of proximity, numberon-screen, etc) those are automatically combined into a single CCO fromwhich content from both constituent CCOs is accessible. By such anapproach, CCOs need only be manually created at the lowest level (i.e.for each tile at level 303 in FIG. 2) higher level views areautomatically generated.

A combination of manual definition and automated rules.

Preferably, upward amalgamation of CCOs results in a child-parentrelationship (in the case of FIG. 3 being a child-parent-grandparentrelationship between the three levels). In this relationship, databinding is upwardly aggregated. That is, a grandparent CCO isfunctionally bound to all child facility system components. In someembodiments this means that all alarms for components bound to childCCOs are visible via the child, parent and grandparent CCOs.Furthermore, content related to the facility system components (e.g.video data, temperature data, etc) for components bound to child CCOs ispreferably able to be accessed via the child, parent and grandparentCCOs.

So as to provide an example, consider a set of four level 303 tileswhich correspond to a common single level 302 tile. Assume there arefour camera-type CCOs across the set of four level 303 tiles (althoughnot necessarily one in each), with each of those CCOs being bound to arespective individual camera. That is, each of those CCOs allows a userto launch a video window pop-up from its respective camera. These fourCCOs at level 303 are replaced by a single camera-type CCO at level 302,with this level 302 CC) being bound to all four cameras (and beingconfigured to allow a user to launch a video window pop-up from any ofthe four cameras, or in some cases a multi-camera view comprising livevideo from all four).

CCO Layers

In some embodiments, CCOs are defined in multiple content layers (shownin terms of layer data 121 a-n in FIG. 1A). These content layers mayrespectively include one or more CCOs. In some embodiments there arerespective layers for content types (for example separate content layersfor surveillance, HVAC, mechanical, electrical, financial), each havingCCOs for that content type. In some cases CCOs include graphical iconsthat identify the content type with which they are associated (forexample a CCO associated with surveillance content may carry a cameraicon).

In some embodiments, CCO aggregation may occur by combining CCOs fromseparate layers. For example, based on an aggregation algorithm, wheretwo CCOs are to be displayed, and these are located within a thresholdproximity, an algorithm is executed to combine their respective displayparameter data (for example combining JSON data) thereby to provide asingle CCO that provides all (or a selection of) the functionalitiesthat would otherwise be provided by two separate CCOs.

CCO layers are also helpful in enabling filtering of CCO display, forexample in based on user attributes and/or user-defined filters. This isdiscussed further below.

CCO Display Relative to Zoom Level

In various embodiments, as a result of CCO layers, tile-basedmanagement, or other approaches, logic that determines which CCOs aredisplayed is related to a zoom level. That is, a given CCO is visible bydefault only once a prerequisite zoom level is reached.

In some embodiments, this aspect of the technology is enhanced by way ofrules which define circumstances in which a given CCO may be visible ata zoom level preceding its prerequisite. This includes definingconditions (for example the presence of an alarm condition) which, ifsatisfied, result in either (i) a given CCO being visible at all zoomlevels; or (ii) a given CCO being visible at a zoom level directly orindirectly preceding its prerequisite zoom level.

CCO Display Management Based on User Attributes

In some embodiments, interface 100 is configured such that CCOs aredisplayed based on one or more attributes of a user (operator). That is,a user provides credentials to access interface 100, and based on thesecredentials (which may reference user attributes stored in a remotedatabase), decisions are made (preferably at a server level) as to whichCCOs are to be displayed in interface 100. In this regard, oneembodiment provides a computer implemented method for displayingbuilding information to a user via a touch/gesture driven user interfacethat is rendered on a display screen, the method including:

(i) based on current navigation data, displaying a portion of a maplayer, wherein the map layer includes image data representative of afacility; and

(ii) positioning, on the displayed portion of the map layer, a set ofcontent control objects, wherein each content control object enables auser to load one or more content items via display objects superimposedon the map layer.

This method operates on the basis that the set of CCOs is selected froma collection of available CCOs based upon: (a) the current navigationdata (for example defined in terms of pan and zoom position); and (b)one or more attributes of the user.

In some cases each CCO is bound to at least one building resource, theone or more attributes of the user are indicative of access rights forbuilding resources, and the set of CCOs is selected from the collectionof available CCOs based upon the user's access rights with respect tothe building resources to which the CCOs are bound. For example, acertain user has access only to view surveillance footage, and so onlyCCOs bound to cameras are shown.

In some cases, there is a plurality of building resource categories,wherein each building resource belongs to a building resource category.The one or more attributes of the user are indicative of access rightsfor building resource categories, and the set of CCOs is selected fromthe collection of available CCOs based upon the user's access rightswith respect to the building resources to which the CCOs are bound. Forexample, this may be used in conjunction with a layer approach asdisused above. Rather than determining whether or not to show a CCO on aper-CCO basis, the decision is made on a layer basis.

The user attributes may include the likes of a tag in a user ID file,permissions in a permissions table, or substantially any other approach.Preferably, each CCO includes data of the required user attribute (e.g.access permission) required.

In some cases the user attributes additionally include filteringparameters set by the user. For example, a user with access to videoCCOs and HVAC CCOs may choose to filter thereby to only show video CCOs.In some cases the technical mechanisms for determining which CCOs aredisplayed vary between situations where access permissions are processedand where filters are processed.

In cases where a CCO is bound to multiple resources, user-attributedisplay involves additional challenges. That is, the CCO may appeardifferently depending on the user's attributes. There are a few ways inwhich this is managed in embodiments, for example:

A one-to-one relationship between CCOs and resources. CCOs may beaggregated together based on a set of rules, but this aggregation isperformed following a determination as to which CCOs are to bedisplayed. For example, in respect of one user a map position (locationand zoom level) may include a video CCO and HVAC CCO aggregatedtogether, but for another use that same map position may only includethe video CCO (if the user does not have access rights for HVAC, or hasfiltered out HVAC).

Algorithms for enabling modification of data for a CCO that is bound tomultiple resources, such that content is available only for a resourcewhere the user has access.

Using multiple CCO definitions for multi-resource-mound CCOs, so thatseparate data is stored to allow loading for a reduced number of thebound resources where appropriate.

CCO display management based on user attributes is very useful in thecontext of interface 100, as it allows a single interface framework toserver multiple purposes, based on varying operator scope ofresponsibilities, access rights, roles, and current tasks. Interface 100is therefore, at the back end, able to be configured to provide a widerange of rich content, whilst at the front end only content determinedto be appropriate for a given user is displayed on the map.

User-Specific Content Layer

In some embodiments a user is able to customise the location of CCOs.For example, a user is able to add a new CCO, which includes selecting aresource to which it is to be bound. The newly created CCO may reside ina user-specific content layer, which is in some cases available only tothat user (and loaded automatically for that user), and in other casespublished to other users.

In some embodiments a user is additionally/alternately enabled tocustomise menu items accessible from a given CCO. Again, in some casesthese customisations are made exclusively for the user in question, andin other cases they are published for other users (for example byupdating the CCO data such that updated CCO data is loaded by the nextuser to navigate to a position containing that CCO).

Multi-Level Map Navigation

As noted above, in some cases only a single vertical zone is displayedvia the background map layer, even in the case of a multi-levelfacility. In such cases, a navigation interface may be provided therebyto enable navigation between vertical zones (for example betweenfloors).

One embodiment provides a method including, displaying, in a primaryregion of the user interface, a first map layer, wherein the first maplayer includes image data representative of a facility, wherein the userinterface is navigated by way of pan and zoom operations defined withrespect to the map layer. The method also includes displaying amulti-level navigation interface, wherein the multi-level navigationinterface displays a series of stacked map layer previews. The stackedmap layer previews are defined relative to a common origin. That is, acertain longitude-latitude coordinate set is commonly defined across allmap layers, allowing those layers to be stacked in a meaningful manner.In some embodiments the navigation interface is superimposed on the maplayer.

In this case, one map layer preview is representative of the first maplayer and another map layer preview is representative of a second maplayer. A user is enabled a user to interact with the multi-levelnavigation interface thereby to select a desired one of the stacked maplayer previews. For example, this may include a gesture drivenselection, optionally effectively scrolling upwards/downwards throughthe stack. In response to the user's selection of the map layer previewrepresentative of a second map layer, the second map layer is displayedin the primary region of the user interface.

In some cases the series of stacked map layers are defined bytwo-dimensional isometric views stacked thereby to provide athree-dimensional representation of a building defined by floorsrespectively represented by the layers. This is shown in FIG. 5, whichshows isometric staked views for multiple levels alongside atwo-dimensional floorplan for one level.

In some cases prior to the user's selection of the map layer previewrepresentative of a second map layer, the first map later is displayedfor a region having a boundary defined in horizontal dimensions, and inresponse to the user's selection of the map layer preview representativeof a second map layer, the second map layer is displayed in the primaryregion of the user interface for a region having the same boundarydefined in terms of horizontal dimensions. That is, the user views thesame region (in horizontal aspects) of a different level.

In some embodiments, in the case the pan and zoom location for the firstmap layer meet a first set of conditions, a first multi-level interfaceis displayed, and wherein, in the case the pan and zoom location for thefirst map layer meet a second set of conditions, a second multi-levelinterface is displayed. For example, this may be used for amulti-building facility: the multi-level interface is shown in respectof a building proximal (or defined around) the user's current navigationposition.

Persistent Content Positioning

In some embodiments the user interface is configured to enablepersistent display of launched content display object at a launchlocation. This is configured such that, following navigation away from amap position such that a given content display object is no longeron-screen, and return to that map position, which requires re-loading ofmap image data for that position, the given content display objectremains in its launch location. That is, loaded content display objectsappear to remain in persistent positions (relative to the map) as a usernavigates the map. In some embodiments, in response to a user commandvia a content display object to launch a content item, storing contextinformation for the launched content item, thereby to enable managementof persistent display. Additionally, in the interests of conservingnetwork and other computing resources, streaming of content by a givencontent display object is ceased when the given content item is notdisplayed on-screen.

Preferably, persistent display is able to be controlled by the user. Forexample, some embodiments provide a mechanism for the user to, by way ofa single command, close all persistently displayed content displayobject. In another example, the user interface provides functionalityfor a user to select whether a given content display object is to bepersistently displayed or, alternately, is to automatically closefollowing navigation that causes the content item to no-longer beon-screen.

Transition of Content Between Map-Bound and Map-Unbound Layers

As discussed above, an operator is enabled to launch various contentdisplay objects within interface 100, for example a display objectconfigured to present live video from a camera. In some cases, as notedabove, the position of a content display item, once launched, ispersistent, in that a user upon navigating away from, and subsequentlyreturning to, a given map view position, content items launched fordisplay at that position remain in place. Such content display objectsmay be considered as being map-bound, in that they are bound to the mapin terms of pan and/or zoom operations. That is, the content displayobject remains the same size and position relative to the background maplayer during operator-controlled navigation (for example a contentdisplay object becomes smaller during a zoom-out navigation).

In some embodiments, a user is enabled to transition content between amap-bound layer and a map-unbound layer. That is, such embodimentsprovide a computer implemented method including enabling the user tomove a given display object between:

(i) a map bound layer, wherein the display object is bound to the maplayer for pan and/or zoom operations; and

(ii) a map unbound layer, wherein the position and/or size of thedisplay object remains constant relative to the display screenindependent of pan and/or zoom operations.

In some embodiments, when in the map bound layer, the display object isbound to the map layer for pan and zoom operations. In some embodiments,in the map unbound layer, the position and/or size of the display objectremains constant relative to the display screen independent of pan andzoom operations. In some embodiments, in the map unbound layer, both theposition and size of the display object remains constant relative to thedisplay screen independent of pan and/or zoom operations.

The manner by which a display object is transitioned between themap-bound layer and map-unbound layer varies between embodiments. Anexemplary approach is to use a “throw” gesture for progressing a givendisplay object from the map bound layer to the map unbound layer. Thatis, interface 100 is configured to recognise a “throw” gesture made inrespect of a content display object as a command not only to move theobject made on the “throw” attributed (e.g. velocity and trajectory),but also as a command to transition the content item to a map-unboundlayer. Handling of the map-unbound layer may be achieved via data andprocessing at the client or a server as matter of design choice.

FIG. 4 provides an example of how such transition operates, by referenceto three exemplary simplified screenshots from interface 100. Inscreenshot 401 two video display objects (411 and 412) are launched, andby default reside in a map-bound layer. These are each configured todisplay live video data from respective cameras in a surveillancesystem. Object 411 is manipulated by way of a throw gesture, and movesinto the position shown in screenshot 402. This throw manipulation alsotransitions object 411 into a map-unbound layer. Screenshot 403 showsinterface 100 in a lower zoom position. In this screenshot, object 411has remained the same size and position relative to the display screen,whereas object 412 has remained at a constant position and size relativeto the background map layer.

Sharing of Content to Networked Devices

Some embodiments enable sharing of content between display 101 and othernetworked devices. For example, in one embodiment, in response to a“throw” gesture having predefined characteristics, the terminalproviding interface 100 is configured for providing a signal to a secondterminal in networked communication with the first terminal, thereby tomake the content associated with a building resource. This isillustrated in FIG. 1B, which shows a plurality of second networkedterminals 161 a-d.

In some cases the user interface includes a plurality of peripheralthrow locations, wherein each location is selectively associable with aspecific remote terminal, wherein a “throw” gesture for a display objecthaving characteristics representative of a given throw location causethe providing of a signal to the associated specific remote terminal innetworked communication with the first terminal, thereby to make thecontent associated with a building resource. For example, a user is ableto manually associate each throw location with a desired terminal.

In some embodiments sensing equipment is configured to determine therelative location of the second terminal with respect to the firstterminal, thereby to enable determination of whether the “throw” gesturehas a trajectory towards the second terminal. The sensing equipment mayinclude image sensing equipment, coupled to either or both of the firstterminal or the second terminal.

Multi-Modal Operation

In some embodiments a touch/gesture driven user interface issimultaneously controllable by multiple modes, including at least onegesture-driven mode, and at least voice-driven mode. Preferably, panningand zooming operations with respect to the map layer are controllableusing commands including the name data for the building resources. Inthis regard, a voice-command processing module is optionally configuredto have access to the name data, thereby to enable processing of voicecommands in the at least one voice driven mode, wherein those commandsare indicative of one or more aspects of the name data. Thevoice-command processing module is responsive to a command indicative ofname data for a given one of the building resources for performing acommand in respect of that building resource. This may include, inresponse to a predefined voice command indicative of name data for agiven one of the building resources, the user interface is configured tonavigate to an optimal map layer position, in terms of pan and zoom, fordisplaying that given one of the building resources.

By way of example, building resources may be named according to alocation-specific hierarchy derived naming convention, for example:BuildingA, BuildingA/Level2, BuildingA/Level2/ConferenceRoom, andBuildingA/Level2/ConferenceRoom/Camera1. A given voice command may bematched against this name to determine whether it is likely to refer tothat building resource. This need not require the full name or allaspects. For example, a voice command including “conference room” and“camera 1” may uniquely identify that resource (for example if there isonly a single ConferenceRoom defined in the name data). The voicecommand processing is also preferably context dependent, favouring namedata for resources shown on-screen. For example, if only one resourceincluding Camera1 in its name is shown on-screen, then a commandincluding “camera 1” is inferred to relate to that resource.

Multi-Screen Implementation

In some embodiments, the user interface is provided over multipledisplays. An example is illustrated in FIG. 6, where three screens areused. A first screen 601, in this example being a wall display withtouch/gesture controls, provides a map-based interface (for example asdescribed in examples above). This map-based interface, based on a givenpoint-in-time rendering, includes a plurality of CCOs (for example asdescribed elsewhere herein).

A second screen 602 provides an object detail view, which is configuredto provide a detailed view for a plurality of content items referencedby CCOs. For example, this may including displaying a plurality of videodisplay objects, each providing a live video feed from a respectivecamera (with each camera being referenced by a given CCO). Otherexamples include display objects that provide status and/orconfiguration information for other facility items, such as accesscontrol devices, HVAC components, and so on.

Preferred embodiments provide a functionality whereby the system isconfigured to define a view on screen 602 responsive to CCOs visible onscreen 601. This may occur automatically (for example following maprepositioning) or responsive to a user command (for example the userclicks a button to “throw” a new view to screen 602 based on currentlyvisible CCOs.

FIG. 6 also includes a third screen 603, which in this embodiment is adesk display (again preferably touch/gesture driven), which provides acontrol UI. This control UI preferably provides detailed informationregarding the facility. In some cases a view on screen 603 is definedbased on CCOs visible on screen 601, for example a “quicklist” whichprovides access to diagnostic information and the like for the relevantfacility items.

Screens 601, 602 and 603 are driven by processing components 604, whichmay include multiple processing units. A common keyboard and mouse ispreferably coupled to processing components 604, and configured toenable movement of a mouse cursor between all three screens.

Alternate CCO Implementation

FIG. 7 illustrates an alternative CCO implementation, showing aprogression of CCO display subject to user interaction. Icon 701represents an exemplary CCO, in this case being for a camera (i.e. it isa camera icon). Interacting with this CCO results in the launching of acompact detail display 702, which includes a display object 703. Thisdisplay object provides a view for the relevant facility item referencedby the CCO, for example a live stream of surveillance footage in thecontext of a camera.

Further interaction expands display 702 to provide an expanded detaileddisplay, which additionally includes object controls 704 (for examplevideo controls, such as rewind, record, pause, PTZ, and the like) andother controls 705. In some cases the other controls enable a user toassociate links to other system user interface objects/views with theCCO.

CONCLUSIONS AND INTERPRETATION

It will be appreciated that the disclosure above provides varioussignificant systems, methods, frameworks and methodologies for enablingdisplay of facility information and surveillance data via a map-baseduser interface.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions utilizing terms such as “processing,” “computing,”“calculating,” “determining”, analyzing” or the like, refer to theaction and/or processes of a computer or computing system, or similarelectronic computing device, that manipulate and/or transform datarepresented as physical, such as electronic, quantities into other datasimilarly represented as physical quantities.

In a similar manner, the term “processor” may refer to any device orportion of a device that processes electronic data, e.g., from registersand/or memory to transform that electronic data into other electronicdata that, e.g., may be stored in registers and/or memory. A “computer”or a “computing machine” or a “computing platform” may include one ormore processors.

The methodologies described herein are, in one embodiment, performableby one or more processors that accept computer-readable (also calledmachine-readable) code containing a set of instructions that whenexecuted by one or more of the processors carry out at least one of themethods described herein. Any processor capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenare included. Thus, one example is a typical processing system thatincludes one or more processors. Each processor may include one or moreof a CPU, a graphics processing unit, and a programmable DSP unit. Theprocessing system further may include a memory subsystem including mainRAM and/or a static RAM, and/or ROM. A bus subsystem may be included forcommunicating between the components. The processing system further maybe a distributed processing system with processors coupled by a network.If the processing system requires a display, such a display may beincluded, e.g., a liquid crystal display (LCD) or a cathode ray tube(CRT) display. If manual data entry is required, the processing systemalso includes an input device such as one or more of an alphanumericinput unit such as a keyboard, a pointing control device such as amouse, and so forth. The term memory unit as used herein, if clear fromthe context and unless explicitly stated otherwise, also encompasses astorage system such as a disk drive unit. The processing system in someconfigurations may include a sound output device, and a networkinterface device. The memory subsystem thus includes a computer-readablecarrier medium that carries computer-readable code (e.g., software)including a set of instructions to cause performing, when executed byone or more processors, one of more of the methods described herein.Note that when the method includes several elements, e.g., severalsteps, no ordering of such elements is implied, unless specificallystated. The software may reside in the hard disk, or may also reside,completely or at least partially, within the RAM and/or within theprocessor during execution thereof by the computer system. Thus, thememory and the processor also constitute computer-readable carriermedium carrying computer-readable code.

Furthermore, a computer-readable carrier medium may form, or be includedin a computer program product.

In alternative embodiments, the one or more processors operate as astandalone device or may be connected, e.g., networked to otherprocessor(s), in a networked deployment, the one or more processors mayoperate in the capacity of a server or a user machine in server-usernetwork environment, or as a peer machine in a peer-to-peer ordistributed network environment. The one or more processors may form apersonal computer (PC), a tablet PC, a set-top box (STB), a PersonalDigital Assistant (PDA), a cellular telephone, a web appliance, anetwork router, switch or bridge, or any machine capable of executing aset of instructions (sequential or otherwise) that specify actions to betaken by that machine.

Note that while diagrams only show a single processor and a singlememory that carries the computer-readable code, those in the art willunderstand that many of the components described above are included, butnot explicitly shown or described in order not to obscure the inventiveaspect. For example, while only a single machine is illustrated, theterm “machine” shall also be taken to include any collection of machinesthat individually or jointly execute a set (or multiple sets) ofinstructions to perform any one or more of the methodologies discussedherein.

Thus, one embodiment of each of the methods described herein is in theform of a computer-readable carrier medium carrying a set ofinstructions, e.g., a computer program that is for execution on one ormore processors, e.g., one or more processors that are part of webserver arrangement. Thus, as will be appreciated by those skilled in theart, embodiments of the present invention may be embodied as a method,an apparatus such as a special purpose apparatus, an apparatus such as adata processing system, or a computer-readable carrier medium, e.g., acomputer program product. The computer-readable carrier medium carriescomputer readable code including a set of instructions that whenexecuted on one or more processors cause the processor or processors toimplement a method. Accordingly, aspects of the present invention maytake the form of a method, an entirely hardware embodiment, an entirelysoftware embodiment or an embodiment combining software and hardwareaspects. Furthermore, the present invention may take the form of carriermedium (e.g., a computer program product on a computer-readable storagemedium) carrying computer-readable program code embodied in the medium.

The software may further be transmitted or received over a network via anetwork interface device. While the carrier medium is shown in anexemplary embodiment to be a single medium, the term “carrier medium”should be taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“carrier medium” shall also be taken to include any medium that iscapable of storing, encoding or carrying a set of instructions forexecution by one or more of the processors and that cause the one ormore processors to perform any one or more of the methodologies of thepresent invention. A carrier medium may take many forms, including butnot limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media includes, for example, optical, magneticdisks, and magneto-optical disks. Volatile media includes dynamicmemory, such as main memory. Transmission media includes coaxial cables,copper wire and fiber optics, including the wires that comprise a bussubsystem. Transmission media also may also take the form of acoustic orlight waves, such as those generated during radio wave and infrared datacommunications. For example, the term “carrier medium” shall accordinglybe taken to included, but not be limited to, solid-state memories, acomputer product embodied in optical and magnetic media; a mediumbearing a propagated signal detectable by at least one processor of oneor more processors and representing a set of instructions that, whenexecuted, implement a method; and a transmission medium in a networkbearing a propagated signal detectable by at least one processor of theone or more processors and representing the set of instructions.

It will be understood that the steps of methods discussed are performedin one embodiment by an appropriate processor (or processors) of aprocessing (i.e., computer) system executing instructions(computer-readable code) stored in storage. It will also be understoodthat the invention is not limited to any particular implementation orprogramming technique and that the invention may be implemented usingany appropriate techniques for implementing the functionality describedherein. The invention is not limited to any particular programminglanguage or operating system.

It should be appreciated that in the above description of exemplaryembodiments of the invention, various features of the invention aresometimes grouped together in a single embodiment, FIG., or descriptionthereof for the purpose of streamlining the disclosure and aiding in theunderstanding of one or more of the various inventive aspects. Thismethod of disclosure, however, is not to be interpreted as reflecting anintention that the claimed invention requires more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive aspects lie in less than all features of a singleforegoing disclosed embodiment. Thus, the claims following the DetailedDescription are hereby expressly incorporated into this DetailedDescription, with each claim standing on its own as a separateembodiment of this invention.

Furthermore, while some embodiments described herein include some butnot other features included in other embodiments, combinations offeatures of different embodiments are meant to be within the scope ofthe invention, and form different embodiments, as would be understood bythose skilled in the art. For example, in the following claims, any ofthe claimed embodiments can be used in any combination.

Furthermore, some of the embodiments are described herein as a method orcombination of elements of a method that can be implemented by aprocessor of a computer system or by other means of carrying out thefunction. Thus, a processor with the necessary instructions for carryingout such a method or element of a method forms a means for carrying outthe method or element of a method. Furthermore, an element describedherein of an apparatus embodiment is an example of a means for carryingout the function performed by the element for the purpose of carryingout the invention.

In the description provided herein, numerous specific details are setforth. However, it is understood that embodiments of the invention maybe practiced without these specific details. In other instances,well-known methods, structures and techniques have not been shown indetail in order not to obscure an understanding of this description.

Similarly, it is to be noticed that the term coupled, when used in theclaims, should not be interpreted as being limited to direct connectionsonly. The terms “coupled” and “connected,” along with their derivatives,may be used. It should be understood that these terms are not intendedas synonyms for each other. Thus, the scope of the expression a device Acoupled to a device B should not be limited to devices or systemswherein an output of device A is directly connected to an input ofdevice B. It means that there exists a path between an output of A andan input of B which may be a path including other devices or means.“Coupled” may mean that two or more elements are either in directphysical or electrical contact, or that two or more elements are not indirect contact with each other but yet still co-operate or interact witheach other.

Thus, while there has been described what are believed to be thepreferred embodiments of the invention, those skilled in the art willrecognize that other and further modifications may be made theretowithout departing from the spirit of the invention, and it is intendedto claim all such changes and modifications as falling within the scopeof the invention. For example, any formulas given above are merelyrepresentative of procedures that may be used. Functionality may beadded or deleted from the block diagrams and operations may beinterchanged among functional blocks. Steps may be added or deleted tomethods described within the scope of the present invention.

What is claimed is:
 1. A computer implemented method for sharingcontent, the method comprising: displaying a touch/gesture driven userinterface that is rendered on a display screen coupled to a firstterminal, wherein the touch/gesture driven user interface includes: amap layer including image data representative of a facility, wherein thetouch/gesture driven user interface is navigated by way of pan and zoomoperations defined with respect to the map layer; one or more objectssuperimposed on the map layer, wherein each object is associated with abuilding resource defined in a building management system, each buildingresource being associated with name data; wherein the touch/gesturedriven user interface is controllable by multiple modes, including atleast one gesture-driven mode, and at least one voice-driven mode;wherein, for at least one voice-driven mode, a voice-command processingmodule is configured to have access to name data for the buildingresources, wherein the name data defines individual unique names foreach of the building resources according to a location-specifichierarchy derived naming convention, wherein attributes of a given voicecommand are processed thereby to identify a particular one of thebuilding resources; and wherein the voice-command processing module iscontext dependent, thereby to favor name data for resources shownon-screen over name data for resources not shown on screen at least whenthe given voice command does not inherently provide fulllocation-specific hierarchy context.
 2. A method according to claim 1wherein panning and zooming operations with respect to the map layer arecontrollable using commands including the name data for the buildingresources.
 3. A method according to claim 1 wherein the voice-commandprocessing module is responsive to the given voice command by performinga command in respect of the identified building resource.
 4. A methodaccording to claim 1 wherein, in response to a predefined voice commandindicative of name data for a given one of the building resources, thetouch/gesture driven user interface is configured to navigate to a maplayer position, in terms of pan and zoom, for displaying that given oneof the building resources.
 5. A method according to claim 1 wherein theat least one touch/gesture driven mode is controlled by at least one of:(i) a touch screen; or (ii) a motion sensing device.
 6. A methodaccording to claim 1 wherein the touch/gesture driven user interface issimultaneously controllable by the multiple modes, including at leastone gesture-driven mode, and at least voice-driven mode.
 7. A computersystem configured to perform a method for sharing content, the computersystem comprising: a controller comprising a processor; the controllercomprising a voice-command processing module; a display screenoperatively coupled to the controller; the controller configured tocause a touch/gesture driven user interface to be rendered on thedisplay screen, wherein the touch/gesture driven user interfacecomprises: a map layer including image data representative of afacility, wherein the touch/gesture driven user interface is navigatedby way of pan and zoom operations defined with respect to the map layer;one or more objects superimposed on the map layer, wherein each objectis associated with a building resource defined in a building managementsystem, each building resource being associated with name data; whereinthe touch/gesture driven user interface is controllable by multiplemodes, including at least one gesture-driven mode, and at leastvoice-driven mode; the voice-command processing module of the controlleris configured to have access to name data for the building resources,wherein the name data defines individual unique names for each of thebuilding resources according to a location-specific hierarchy derivednaming convention, wherein attributes of a given voice command areprocessed by the voice-command processing module to identify aparticular one of the building resources; and wherein the voice-commandprocessing module of the controller is context dependent, thereby tofavor name data for resources shown on-screen over name data forresources not shown on screen at least when the given voice command doesnot inherently provide full location-specific hierarchy context.
 8. Asystem according to claim 7 wherein panning and zooming operations withrespect to the map layer are controllable using commands including thename data for the building resources.
 9. A system according to claim 7wherein the voice-command processing module of the controller isresponsive to the given voice command by performing a command in respectof the identified building resource.
 10. A system according to claim 7wherein, in response to a predefined voice command indicative of namedata for a given one of the building resources, the touch/gesture drivenuser interface is configured to navigate to a map layer position, interms of pan and zoom, for displaying that given one of the buildingresources.
 11. A system according to claim 7 wherein the at least onetouch/gesture driven mode is controlled by at least one of: (i) a touchscreen; or (ii) a motion sensing device.
 12. A system according to claim7 wherein the touch/gesture driven user interface is simultaneouslycontrollable by the multiple modes, including at least onegesture-driven mode, and at least voice-driven mode.